/***
 * @file IGenerator.h
 *
 *  @Author: calle
 *  @date Apr 4, 2011
 */

 /**
 *  \class IGenerator IGenerator.h <Interfaces/IGenerator.h>
 *
 *  \brief interface for automatic creation of Abstract syntax tree.
 *  	
 *  Facade interface for the Generator implementation.
 *
 *  \ingroup Interfaces
 */

#ifndef IGENERATOR_H_
#define IGENERATOR_H_

#include <AbsSyn/StmtList.h>


class IGenerator {

public:

	virtual ~IGenerator(){};

	/**
	 * \brief This interface provides a generation of Abstract syntax tree.
	 *
	 *
	 * @return Statement List
	 */
	virtual StmtList* GenerateTree()=0;

};

#endif /* IGENERATOR_H_ */
